package task06;

import task1.GuessGame;

import java.util.Scanner;

/**
 * @author Administrator
 * 用户测试类：提示信息
 */
public class UserTest {
    // 定义对象，方便后续调用对象中的操作方法
    private static UserDao userDao=new UserDaoList();

    public static void main(String[] args) {
        /* 循环操作：
        *    1、展示选择界面
        *    2、接受用户输入的选择项
        *    如果输入的是1：登陆提示界面
        *                   登陆功能(其他类完成)
        *    如果输入的是2：注册提示界面
        *                   注册功能(其他类完成)
        *    如果输入的是3：退出提示界面
        *                   退出功能*/

        Scanner sc=new Scanner(System.in);
        while(true){
            /* 调用选择界面方法*/
           choose();
           // 接受用户输入的选择
           int num=sc.nextInt();
           // 根据用户的选择执行不同的提示界面
            switch (num){
                case 1:
                    // 调用登陆界面
                    loginFace();
                    break;
                case 2:
                    registerFace();
                    break;
                case 3:
                    System.out.println("欢迎下次光临");
                    // 正常终止程序
                    System.exit(0);
                case 4:
                    showFace();
                    break;
                default:
                    System.out.println("输入有误");
                    break;
            }
        }
    }

    /**
     * 遍历：查看所有用户信息
     */
    private static void showFace() {
        System.out.println("所有注册的用户信息如下：");
        userDao.show();
    }

    /**
     * 注册界面：1、提示信息（用户输入）2、调用注册功能，3、提示成功
     */
    private static void registerFace() {
        System.out.println("—————注册界面—————");
        System.out.println("请输入用户名：");
        Scanner sc=new Scanner(System.in);
        String name=sc.nextLine();
        System.out.println("请输入密码：");
        String password=sc.nextLine();
        // 调用注册功能
        User user=new User(name,password);
        userDao.register(user);
        System.out.println("注册成功");
    }

    private static void loginFace() {
        System.out.println("—————登陆界面—————");
        System.out.println("请输入用户名：");
        Scanner sc=new Scanner(System.in);
        String name=sc.nextLine();
        System.out.println("请输入密码：");
        String password=sc.nextLine();
        // 调用登陆功能
        boolean flag=userDao.login(name,password);
        if(flag){
            System.out.println("登陆成功");
            GuessGame.start();
        }else{
            System.out.println("登陆失败，用户名或密码错误");
        }
    }

    /**
     * 选择界面
     */
    private static void choose() {
        System.out.println("—————欢迎光临—————");
        System.out.println("1 登陆");
        System.out.println("2 注册");
        System.out.println("3 退出");
        System.out.println("4 遍历");
        System.out.println("请输入你的选择：");
    }


}
